package com.wang.lottery.domain.activity.repository;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wang.lottery.domain.activity.model.po.UserStrategyExport;
import com.wang.lottery.domain.activity.model.vo.InvoiceVO;
import com.wang.lottery.domain.award.model.vo.DrawOrderVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author wjh
 * @create 2023-11-09 16:41
 * 用户策略计算结果表仓储接口
 */
@Mapper
public interface IUserStrategyExportRepository extends IService<UserStrategyExport> {
    /**
     * 保存抽奖信息
     *
     * @param drawOrder 中奖单
     */
    void saveUserStrategyExport(DrawOrderVO drawOrder);

    /**
     * 更新发货单MQ状态
     *
     * @param uId      用户id
     * @param orderId  订单id
     * @param code     发送状态
     */
    void updateInvoiceMqState(String uId, Long orderId, Integer code);

    /**
     * 扫描发货单 MQ 状态，把未发送 MQ 的单子扫描出来，做补偿
     * @return 未发送成功的mq单子
     */
    List<InvoiceVO> scanInvoiceMqState();
}
